Field
The present disclosure relates generally to data systems, and more particularly, to encryption techniques.
Background
Most modern encryption techniques involve some sensitive information (clear text) combined with an encryption key. An algorithm is provided which enables an authorized user to decrypt the encrypted text (cipher text). Because the cipher text is unintelligible to others, the owner can transport the cipher text safely and freely without worrying that the underlying clear text will be exposed. To decipher the cipher text, both the encryption key and knowledge of the encryption algorithm are required. Such encryption schemes are prevalent in modern computing.
When the same key is used to encrypt and decrypt text, the cipher is referred to as symmetric. Symmetric encryption schemes include, for example, the widely used AES-12, which uses 128 bit encryption keys. The principal difficulty in breaking cipher text using this encryption technique is the fact that there exist 3.4×1038 different possible keys. Performing a search to identify the correct encryption key would entail identifying each possible 128 bit combination and attempting each such combination to see if it works. For this reason it is not surprising that even the supercomputers of today would take too long to render viable such a trial-and-error workaround for these cipher types.
Where a sufficiently large sample of real random bits is obtained for use in the key creation process, the sample can be used to encrypt clear text with a high degree of reliability. This is the basis of the theoretical one-time pad (OTP) encryption, a type of symmetric cipher. OTP is an encryption technique in which a randomly generated private key is used only once to encrypt text that is then decrypted by the receiver using a matching one-time pad and key. If the key is truly random, at least as long as the text, never reused in whole or in part, and kept secret, then the resulting cipher text should be impossible to decrypt or break.
However, sufficiently large samples of random bits are naturally difficult to obtain with the speed necessary to accommodate today's computational needs unless a specialized high speed external physical random device, such as a quantum-random number generator (QRNG), is available to achieve the desired speed and level of randomness. In addition to being an additional item of dedicated hardware, QRNGs are often implemented as large PCI or PCIe cards, and can be expensive.
These and other limitations are addressed in the present disclosure.